package riceSystem.dao.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Component;

import riceSystem.dao.DaoTemplateInterface;
import riceSystem.entity.Seller;
@Component("sellerDao")
public class SellerDaoImpl implements DaoTemplateInterface<Seller> {
	
	private HibernateTemplate hibernateTemplate;
	
	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}
	@Resource
	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	public void delete(Seller entity) {
		Seller seller = (Seller) hibernateTemplate.load(entity.getClass(), entity.getId());
		hibernateTemplate.delete(seller);
	}

	public void deleteById(long id) {
		Seller seller = (Seller) hibernateTemplate.load(Seller.class, id);
		hibernateTemplate.delete(seller);
	}

	@SuppressWarnings("unchecked")
	public List<Seller> loadAll() {
		return hibernateTemplate.loadAll(Seller.class);
	}

	public Seller loadById(long id) {
		return (Seller) hibernateTemplate.load(Seller.class, id);
	}

	public void save(Seller entity) {
		hibernateTemplate.save(entity);
	}

	public long update(Seller entity) {
		hibernateTemplate.update(entity);
		return entity.getId();
	}
}
